package CONTABILIDAD_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class CON_PARAMETRIZACION_CELULARES {

    private int ID;
    private int ID_TELEFONO;
    private int ID_CUENTA;
    private int ID_CENTRO_COSTO;
    private Conexion con = null;

    public CON_PARAMETRIZACION_CELULARES(Conexion con) {
        this.con = con;
    }

    public CON_PARAMETRIZACION_CELULARES(int ID, int ID_TELEFONO, int ID_CUENTA, int ID_CENTRO_COSTO) {
        this.ID = ID;
        this.ID_TELEFONO = ID_TELEFONO;
        this.ID_CUENTA = ID_CUENTA;
        this.ID_CENTRO_COSTO = ID_CENTRO_COSTO;
    }

    public int Insertar() throws SQLException {
        String cc = "null";
        if(ID_CENTRO_COSTO>0)
            cc=ID_CENTRO_COSTO+"";
        
        String consulta = "insert into BROKER.CON_PARAMETRIZACION_CELULARES (ID, ID_TELEFONO, ID_CUENTA, ID_CENTRO_COSTO) VALUES (" + ID + "," + ID_TELEFONO + "," + ID_CUENTA + "," + cc + ")";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.CON_PARAMETRIZACION_CELULA_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.CON_PARAMETRIZACION_CELULARES where ID= " + getID();
        con.EjecutarSentencia(consulta);
        return true;
    }
    public boolean Vaciar() throws SQLException {
        String consulta = "delete from BROKER.CON_PARAMETRIZACION_CELULARES ";
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<CON_PARAMETRIZACION_CELULARES> Todos() throws SQLException {
        String consulta = "select * from BROKER.CON_PARAMETRIZACION_CELULARES";
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);
    }
    public CON_PARAMETRIZACION_CELULARES BuscarXcelular(int id) throws SQLException {
        String consulta = "select * from BROKER.CON_PARAMETRIZACION_CELULARES where ID_TELEFONO = "+id;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<CON_PARAMETRIZACION_CELULARES> lista = Cargar(rs);
        if(lista.size()>0)
            return lista.get(0);
        else
            return null;
    }

    public List<CON_PARAMETRIZACION_CELULARES> Cargar(ResultSet rs) throws SQLException {
        List<CON_PARAMETRIZACION_CELULARES> lista = new ArrayList<CON_PARAMETRIZACION_CELULARES>();
        while (rs.next()) {
            CON_PARAMETRIZACION_CELULARES objeto = new CON_PARAMETRIZACION_CELULARES(con);
            objeto.setID(rs.getInt("ID"));
            objeto.setID_TELEFONO(rs.getInt("ID_TELEFONO"));
            objeto.setID_CUENTA(rs.getInt("ID_CUENTA"));
            objeto.setID_CENTRO_COSTO(rs.getInt("ID_CENTRO_COSTO"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public int getID_TELEFONO() {
        return ID_TELEFONO;
    }

    public void setID_TELEFONO(int ID_TELEFONO) {
        this.ID_TELEFONO = ID_TELEFONO;
    }

    public int getID_CUENTA() {
        return ID_CUENTA;
    }

    public void setID_CUENTA(int ID_CUENTA) {
        this.ID_CUENTA = ID_CUENTA;
    }

    public int getID_CENTRO_COSTO() {
        return ID_CENTRO_COSTO;
    }

    public void setID_CENTRO_COSTO(int ID_CENTRO_COSTO) {
        this.ID_CENTRO_COSTO = ID_CENTRO_COSTO;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
